The Conditional (Ternary) Operator

டெர்னரி ஆபரேட்டரைக் கற்றுக்கொள்ளுங்கள்

The Conditional (Ternary) Operator

நிபந்தனை ஆபரேட்டர் என்பது நிபந்தனை if...else அறிக்கைகளை எழுதுவதற்கான ஒரு சுருக்கமான வழியாகும்.

இது மூன்று செயலிகள் (operands) எடுப்பதால் டெர்னரி ஆபரேட்டர் என்று அழைக்கப்படுகிறது.

Example 1: Age Check

வயதின் மதிப்பு < 18 எனில், text இன் மதிப்பை "Minor" என அமைக்கவும், இல்லையெனில் "Adult":

let text = (age < 18) ? "Minor" : "Adult";

Ternary Version

let text = (age < 18) ? "Minor" : "Adult";

Equivalent if...else

let text;
if (age < 18) {
    text = "Minor";
} else {
    text = "Adult";
}

Example 2: Member Discount

Member (true)

let isMember = true;
let discount = isMember ? 0.2 : 0;

Result: discount = 0.2 (20% discount)

Non-Member (false)

let isMember = false;
let discount = isMember ? 0.2 : 0;

Result: discount = 0 (no discount)

Syntax

(condition) ? expression1 : expression2

📝 குறிப்பு:

நிபந்தனை (ternary) ஆபரேட்டர் மூன்று செயலிகள் எடுக்கும் ஒரே JavaScript ஆபரேட்டர் ஆகும்.

Parameters

Parameter Description
condition தேவைப்படுகிறது. சோதிக்கப்பட வேண்டிய நிபந்தனை. உண்மை அல்லது பொய் என மதிப்பீடு செய்யும் வெளிப்பாடு.
? தேவைப்படுகிறது. நிபந்தனையை வெளிப்பாடுகளிலிருந்து பிரிக்கும் ஆபரேட்டர்.
expression1 தேவைப்படுகிறது. நிபந்தனை உண்மையாக இருந்தால் திரும்ப வேண்டிய மதிப்பு.
: தேவைப்படுகிறது. வெளிப்பாடுகளை பிரிக்கும் ஆபரேட்டர்.
expression2 தேவைப்படுகிறது. நிபந்தனை பொய்யாக இருந்தால் திரும்ப வேண்டிய மதிப்பு.

More Examples

Ternary Operator

// Check if number is even or odd
let number = 7;
let type = (number % 2 === 0) ? "Even" : "Odd";
// Find maximum of two numbers
let a = 5, b = 10;
let max = (a > b) ? a : b;
// Simple login check
let isLoggedIn = true;
let message = isLoggedIn ? "Welcome back!" : "Please login";

Equivalent if...else

// Check if number is even or odd
let number = 7;
let type;
if (number % 2 === 0) {
    type = "Even";
} else {
    type = "Odd";
}
// Find maximum of two numbers
let a = 5, b = 10;
let max;
if (a > b) {
    max = a;
} else {
    max = b;
}
// Simple login check
let isLoggedIn = true;
let message;
if (isLoggedIn) {
    message = "Welcome back!";
} else {
    message = "Please login";
}

சிறந்த நடைமுறை:

டெர்னரி ஆபரேட்டர் எளிய if...else நிபந்தனைகளுக்கு சிறந்தது. சிக்கலான தர்க்கம் அல்லது பல வரிகளுக்கு வழக்கமான if...else அறிக்கைகளைப் பயன்படுத்தவும்.

Browser Support

() ? x : y என்பது ES1 அம்சமாகும் (JavaScript 1997).

Browser Support
Chrome Yes
Internet Explorer Yes
Edge Yes
Firefox Yes
Safari Yes
Opera Yes

இது அனைத்து உலாவிகளிலும் முழுமையாக ஆதரிக்கப்படுகிறது.

Exercise

பின்வரும் டெர்னரி ஆபரேட்டர் வெளிப்பாட்டின் விளைவாக 'status' மாறியின் மதிப்பு என்னவாக இருக்கும்?

let score = 75;
let status = (score >= 60) ? "Pass" : "Fail";
"Fail"
✗ தவறு! score = 75 என்பது 60 ஐ விட அதிகமாக உள்ளது, எனவே நிபந்தனை உண்மை. டெர்னரி ஆபரேட்டர் முதல் வெளிப்பாட்டை (Pass) திருப்பித் தரும்.
"Pass"
✓ சரி! score >= 60 நிபந்தனை உண்மை (75 >= 60), எனவே டெர்னரி ஆபரேட்டர் முதல் வெளிப்பாடான "Pass" ஐத் திருப்பித் தருகிறது.
75
✗ தவறு! டெர்னரி ஆபரேட்டர் score மதிப்பைத் திருப்பித் தராது. இது நிபந்தனையின் அடிப்படையில் "Pass" அல்லது "Fail" ஐத் திருப்பித் தருகிறது.
Error - invalid syntax
✗ தவறு! இந்த தொடரியல் சரிதான். டெர்னரி ஆபரேட்டர் சரியான வடிவத்தில் உள்ளது.